//引入axios封装组件
import request from '@/utils/request'

const api = '/admin/system/sysRole'

export default {

  //条件分页查询
  //1 编写方法名称  随便写
  //2 在方法里面添加参数，和后端接口参数保存一致
  getRolePageCondition(current, limit, seachObj) {
    return request({
      //复制后端接口：类上面+方法上面路径名称
      url: `${api}/findQueryPage/${current}/${limit}`,
      method: 'get',//提交方式，和后端接口一致
      //情况1：如果接口方法参数里面添加@Requestbody ，前端写法：data:seachObj
      //情况2：如果接口方法参数里面没有@Requestbody ，前端写法：params:seachObj
      params: seachObj
    })
  },
  //删除角色
  deleteRole(id) {
    return request({
      //复制后端接口：类上面+方法上面路径名称
      url: `${api}/remove/${id}`,
      method: 'delete'//提交方式，和后端接口一致
    })
  },
  //添加角色
  addRole(role) {
    return request({
      //复制后端接口：类上面+方法上面路径名称
      url: `${api}/save`,
      method: 'post',//提交方式，和后端接口一致
      //情况1：如果接口方法参数里面添加@Requestbody ，前端写法：data:seachObj
      data: role
    })
  },
  //根据id查询
  getRole(id) {
    return request({
      //复制后端接口：类上面+方法上面路径名称
      url: `${api}/get/${id}`,
      method: 'get'
    })
  },
  //修改
  updateRole(role) {
    return request({
      //复制后端接口：类上面+方法上面路径名称
      url: `${api}/update`,
      method: 'put',//提交方式，和后端接口一致
      //情况1：如果接口方法参数里面添加@Requestbody ，前端写法：data:seachObj
      data: role
    })
  },
  //批量删除
  batchRemove(idList) {
    return request({
      url: `${api}/batchRemove`,
      method: `delete`,
      data: idList
    })
  },
  //根据用户id查询用户已分配的角色
  getRolesByUserId(userId) {
    return request({
      url: `/admin/system/sysUser/toAssign/${userId}`,
      method: 'get'
    })
  },

  //分配角色
  assignRoles(assginRoleVo) {
    return request({
      url: `/admin/system/sysUser/doAssign`,
      method: 'post',
      data: assginRoleVo
    })
  }
}